package day07;

public class Person {
    // 成员属性
    private String name; // 姓名
    private int age; // 年龄

    // 构造器 构造方法 创建对象 所以没有返回值 是特殊的方法
    // 无参构造器
    public Person() {
    }

    // 有参构造器
    // 全参构造器
    public Person(String name, int newAge) {
        System.out.println("全参构造器");
        this.name = name;
        age = newAge; 
    }

    // 一个参数的构造器 name
    public Person(String name) {
        // this.name = name; //借助两参构造器实现方法
        // name使用方法传来的参数 age可以传一个默认值 int类型默认值是0 也可以根据实际业务传一个默认值 比如-1
        this(name, -1);
        System.out.println("一个参数的构造器 name 调用两参构造器");
    }

    // 一个参数的构造器 age
    public Person(int age) {
        this.age = age;
        System.out.println("一个参数的构造器 age");
    }

    // 成员方法
    // show
    public void show() {
        System.out.println("姓名：" + name + " 年龄：" + age);
    }
}
